﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Sige
{
    public partial class ModificarAlumnos : Form
    {
        Tipos_documento tipodoc = new Tipos_documento();
        DataTable codtipodoc = new DataTable();
        DataTable persona = new DataTable();
        DataTable alumno = new DataTable();
        Alumno alu = new Alumno();
        Persona person = new Persona();
        Funciones_Varias fv = new Funciones_Varias();
        
        public ModificarAlumnos()
        {
            InitializeComponent();
        }

        private void ModificarAlumnos_Load(object sender, EventArgs e)
        {
            btnModificar.Enabled = false;
            codtipodoc = tipodoc.ObtenerTablaTiposDoc();
            fv.Carga_Combos(ref cboCodTipoDocumento, codtipodoc, "tipodocumento", "descripcion");
        }

        private void cboCodTipoDocumento_Leave(object sender, EventArgs e)
        {
            Tipos_documento tipodoc = new Tipos_documento();
            if (cboCodTipoDocumento.Text != "")
                txtMostrarTipoDocum.Text = tipodoc.ObtenerDescripcion(cboCodTipoDocumento.Text);
            else
            {
                MessageBox.Show("Debe ingresar un código de documento", "Atención", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                cboCodTipoDocumento.Focus();
            }
        }

        private void txtNroDocumento_Leave(object sender, EventArgs e)
        {
            string numdoc = txtNroDocumento.Text;
            if (numdoc != "")
            {
                fv.Sacar_Ceros_Izquierda(ref numdoc);
            }
            if (alu.Alumno_Existente(cboCodTipoDocumento.Text,numdoc)==false)
            {
                if (MessageBox.Show("El alumno no existe. ¿Desea ingresarlo?", "Error al mostrar Alumno", MessageBoxButtons.YesNo, MessageBoxIcon.Error) == DialogResult.Yes)
                {
                    AltaAlumnos altaa = new AltaAlumnos();
                    altaa.Show();
                }
                txtNroDocumento.Clear();
                txtNroDocumento.Focus();
            }
            else
            {
                persona.Clear();
                person.ObtenerTablaPersonaPorDocumento(ref persona, cboCodTipoDocumento.Text, numdoc);
                grdDatosPersona.DataSource = persona;
                alu.ObtenerTablaAlumnoPorDocumento(ref alumno, cboCodTipoDocumento.Text, numdoc);
                alu.ObtenerAlumnoDesdeDatatable(ref alu, alumno);
                txtMostrarFecha.Text = alu.FechaDeAlta.ToString();
                txtMostrarEstado.Text = alu.Estado.ToString();
                btnModificar.Enabled = true;
                cboCodTipoDocumento.Enabled = false;
                txtNroDocumento.Enabled = false;
            }
        }

        private void btnCerrar_Click(object sender, EventArgs e)
        {
            ActiveForm.Close();
        }

        private void btnNuevaConsulta_Click(object sender, EventArgs e)
        {
            cboCodTipoDocumento.Enabled = true;
            txtMostrarTipoDocum.Text = "";
            txtNroDocumento.Enabled = true;
            txtNroDocumento.Text = "";
            txtMostrarFecha.Text = "";
            txtMostrarEstado.Text = "";
            cboCodTipoDocumento.Focus();
            //LIMPIO LOS DATATABLES:
            persona.Clear();
            alumno.Clear();
            //LIMPIO LA GRILLA:
            grdDatosPersona.DataSource = null;
            btnModificar.Enabled = false;
        }

        private void btnModificar_Click(object sender, EventArgs e)
        {
            btnModificar.Enabled = false;
            persona.Clear();
            person.ObtenerTablaPersonaPorDocumento(ref persona, cboCodTipoDocumento.Text, txtNroDocumento.Text);
            person.ObtenerPersonaDesdeDatatable(ref person, persona);
            ModificarPersonas modifp = new ModificarPersonas();
            modifp.Show();
            modifp.Llenar_Form_Con_Persona(person);
        }
    }
}
